home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 11 / Info-Mac_XI_Disc_1.cdr_ / Info-Mac XI Disc 1.cdr / Programs / Font / Utility / FontLint / Development notes next >
Encoding:
Text File  |  1997-02-06  |  10.8 KB  |  249 lines  |  [TEXT/R*ch]

  1. Development Notes
  2. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3. Feedback I'm looking for: suggestions on what to include in specific
  4. windows or printouts. suggestions on new features. any bug reports,
  5. especially w/ specific fonts or setups that cause problems. notes on
  6. performance. what seems especially slow and should be concentrated on?
  7. any confusion whatsoever. if it doesn't make sense, I'm not doing my
  8. job.
  9.  
  10. contact me at:
  11.     mr-gates@uiuc.edu
  12.     http://www.cen.uiuc.edu/~mr-gates/
  13.     http://www.cen.uiuc.edu/~mr-gates/fontlint.html
  14.  
  15.  
  16. Proposed features
  17. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  18. For 1.1 (hopefully a summer 1997 release)
  19.  
  20.     Automatic font conflict resolution (TT and PS)
  21.  
  22.     Dynamic updating of font type in the folder listing, when a PS or TT
  23.     version is deleted.
  24.  
  25.     GX support (no, it doesn't recognize GX fonts even though it says it might)
  26.  
  27.     Recognize font families, similar to what WYSIWYG and Type Reunion do.
  28.     Then FontLint would be able to display one entry for a font family,
  29.     and dis/enable the whole family together. Additionally FontLint would
  30.     be able to break large suitcases into small suitcases of individual
  31.     font families.
  32.  
  33.     Cleanup font names (e.g. delete .bmap from suitcase names). This is
  34.     rather easy to do in, say, Perl, but a touch more difficult with the
  35.     primitive string utilities of C++. I may borrow some Perl code here.
  36.  
  37.     A new Print dialog which allows the user to select which fonts to print
  38.     easily, and moves all the print options to there instead of the
  39.     Preferences dialog, since they don't really belong there.
  40.  
  41. For 2.0+
  42.  
  43.     Fixing corrupt fonts
  44.  
  45.     Recognizing OR remembering font types: Serif or Sans Serif, Mono-spaced or
  46.     Proportional, Dingbats, etc. As these are not normally detectable, I may
  47.     just allow the user to specify for certain fonts, then save those
  48.     settings. This would allow the user to print different types of fonts
  49.     differently-- Dingbats fonts would default to printing as keyboard or
  50.     ASCII charts, while mono-spaced fonts might print source code samples,
  51.     for example.
  52.  
  53.     Interaction with other programs. Specifically I use WYSIWYG
  54.     Menus, and set different types of fonts to different colors--PS fonts
  55.     red, TT fonts green. Another possibility is Serif fonts one color, Sans
  56.     another.
  57.  
  58.  
  59. History
  60. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  61. 1.0 Final release notes
  62.  
  63.     New About… box. Not exactly what I wanted, but...
  64.  
  65.     Only opens one FontInfo window per font now. If the user clicks on the
  66.     same font, it (properly) pulls up the already open info window.
  67.  
  68.     Fixed the memory management. It will only let the user open info windows
  69.     until it runs low, and probably won't crash any more. Additionally, info
  70.     windows will automatically close if the system needs more memory. (This
  71.     is a little odd, but makes some sense, and is a _lot_ easier to
  72.     implement.) A low memory warning will also now be shown. With this I
  73.     reduced the suggested memory to a reasonable value.
  74.  
  75.     Plugged a memory leak in the font info windows. It didn't destroy the
  76.     strings in the version window after the window was closed.
  77.  
  78.     Now removes .bmap from suitcase names. For some reason people have a
  79.     need to add this to many shareware fonts.
  80.  
  81.     Fixed a bug where a suitcase would not be moved if renamed by adding
  82.     the type suffix to it. (So if "Holstein.bmap" became "Holstein ps",
  83.     and it was disabled at the same time, the suitcase would have been left
  84.     in the Fonts folder.)
  85.  
  86.     Fixed several bugs in removing individual font sizes from a suitcase.
  87.     Previously it would delete the wrong size, and also would mess up the
  88.     whole FOND resource.
  89.  
  90.     Added debugging code and changed the way alerts are handled. Also
  91.     removed those annoying Signal and Throw dialogs.
  92.  
  93.     Cleaned the user interface some. Made sure dialogs were well spaced,
  94.     and changed a few menu items and wordings.
  95.  
  96.     Did much testing on various systems throughout the U of I computer labs. 
  97.  
  98.   Allow user to remap PS File creators to FontLint to gain consistent
  99.     icons. This may require rebuilding your desktop.
  100.  
  101.     Fixed a long-standing bug printing the keyboard layout. I accidentally
  102.     read in one extra key shape, which amazingly printed okay on some
  103.     systems. The only quirk left is that L-shaped return/enter keys are
  104.     drawn as rectangles.
  105.  
  106.     Linked all the fonts of one suitcase together so they enable/disable
  107.     visibly together. Previously this was confusing because only whole
  108.     suitcases are moved when quitting, but that was not reflected in the
  109.     listing before.
  110.  
  111.     Added a samples view. This was much needed--the characters information
  112.     doesn't really suffice. Just click on any font to get
  113.         Samples             -- general samples in various sizes
  114.         Characters          -- significant characters like ligatures and quotes
  115.         Metrics             -- leading and line spacing
  116.         Version information -- point sizes & PS printer font files
  117.  
  118. Additional notes from DR4
  119.  
  120.     For Open PPD File…, it automatically opens the Extensions/Printer
  121.     Descriptions folder, if it can be found. (This doesn't work with Default
  122.     Folder, since it takes priority.)
  123.  
  124.     Fixed a bug that caused some folders (with large Dir IDs) not to be
  125.     recursively scanned.
  126.  
  127.     Fixed print hanging with extremely wide fonts.
  128.  
  129.     Fixed a bug with the way sets are scanned. If sets were made & deleted
  130.     at random, it would throw exceptions from set IDs that were not found.
  131.     Now we just skip IDs that are not found. (If a >16000 sets are made &
  132.     deleted this could cause a problem, because I assume there is an ID
  133.     greater than the last one used. I'm not too worried.) You can also no
  134.     longer delete the current set, and deleting a set not in the prefs file
  135.     (a newly created one) will not crash when the user quits anymore.
  136.  
  137.     Fixed several spelling errors and minor GUI inconsistencies.
  138.  
  139.     Added alert dialogs for Page Setup options (Portrait vs. Wide).
  140.     Unfortunately it is too difficult to detect the page orientation or to
  141.     change it myself. Also reworked some of the code for print options, and
  142.     moved them to Preferences.
  143.  
  144.     Stopping a font scan works now.
  145.  
  146.     Plugged lots of memory leaks.
  147.  
  148.     Keyboard navigation of most lists (Folder List, Sets, Font Info). The
  149.     arrow keys, page keys, home, and end move around; tab goes between two
  150.     lists in the same window. Page, home, and end don't work perfectly yet.
  151.  
  152.     Deletion of individual fonts within a font family. So 10pt Times can be
  153.     deleted apart from the whole Times family. Also deletion of PS files.
  154.     These two features allow one to (manually) resolve conflicts from within
  155.     FontLint, though it will not reflect changes until you re-run FontLint.
  156.     Soon I will add automatic conflict resolution and dynamic updating of
  157.     status, so changes will be reflected in the Folder listings. • Note:
  158.     only allowed on disabled fonts. It crashes on fonts that the system has
  159.     loaded. Work around: save sets, disable all your fonts and restart.
  160.  
  161. Additional notes from DR3
  162. First public release.
  163.  
  164.     Automatically creates the ~Fonts folder if it does not exist. No, it
  165.     doesn't (yet) remove it if there are no items in it.
  166.     
  167.     If, for some reason a font is rescanned, one may appear with a New
  168.     bullet • by it. Also, any fonts scanned after reading the sets (usually
  169.     at startup) will be counted new. (If no sets are saved, all fonts are
  170.     new. For this reason, I suggest making at least one set "normal".)
  171.     
  172.     Holding the command key while starting up aborts the font and set
  173.     scanning. The item "Scan Fonts" in the File menu then becomes active to
  174.     manually do it later. This is helpful for changing PPD files, installing
  175.     new fonts from another disk, and for debugging. All directories are
  176.     setup, so enabling a font works.
  177.     
  178.     Fixed the Open… command. It will either scan a folder hierarchy or open
  179.     a single font file.
  180.     
  181.     New print options:
  182.         Print New Fonts Only -- prints those fonts that are labeled as New (as
  183.             determined by what fonts were not seen in any sets.) Useful for
  184.             updating or just previewing only those fonts.
  185.         Print Summary  -- one inch quick sample
  186.         Print Extended -- full page samples covering almost every use
  187.         Print ASCII    -- full page showing all printed ASCII chars (32 - 255)
  188.  
  189.     (summary uses 8.5 by 11 portrait; extended uses 11 by 8.5 landscape
  190.     full page; ascii can use any paper, put is designed for 8.5 by 11
  191.     portrait. It does NOT automatically set portrait or landscape, but they
  192.     are reflected in the Preview if set. Uses 1/2 inch margins.) Print
  193.     keyboard -- prints a key-caps like keyboard layout (4 views for the
  194.     different modifier keys. KCAP read from system so even non-standard
  195.     keyboards, like my Dvorak one, print correctly.)
  196.     
  197.     Note: Fonts that are not currently installed according to the system
  198.     will not print. Samples can be viewed in the info windows (described
  199.     below), but not (yet) printed.
  200.     
  201.     Fonts will be copied across volumes. I used FSpCatMove() which only
  202.     moves files on one disk volume. If on separate volumes it should now
  203.     copy the file across (only when enabling it--disabled fonts are not
  204.     copied).
  205.     
  206.     Keyboard navigation of folder lists. Note: Multiple selection (esp.
  207.     discontinuous) will NOT be implemented until the next version (i.e.
  208.     v1.1) because PowerPlant was just barely getting it now. Drag-n-Drop
  209.     will hopefully be implemented at the same time. If possible, fonts will
  210.     be dropped on FontLint from the Finder, or dragged from FontLint onto
  211.     the Finder.
  212.     
  213. Additional notes from DR2
  214. Released to friends.
  215.  
  216.     The Open… command allows one to locate additional fonts, either
  217.     individually or by scanning a directory/disk volume.
  218.     
  219.     It scans for fonts not in suitcases now (loose fonts--ffil or tfil).
  220.     Note that, as with suitcases, since consolidation is not implemented
  221.     yet, having the same font in multiple files will cause it to show up
  222.     multiple times. (Specifically, it doesn't recognize multiple FONDs for
  223.     the same font as being the same yet.)
  224.     
  225.     Printing is improved. It still assumes portrait 8 1/2" by 11" paper.
  226.     Print Preview shows the text as it will be printed, including side
  227.     margins, but does not implement top/bottom margins or page breaks.
  228.     
  229.     It saves things, including: Font Sets, in the prefs file The PPD file,
  230.     in the prefs file Fonts Files, in their respective enabled/disabled
  231.     folders. BUT, the system doesn't recognize the font changes w/o a
  232.     restart <sigh>. According to Apple, only the user (Finder) and the
  233.     Installer should move fonts into or out of the Fonts folder. There is no
  234.     standard way to avoid restarting the computer to reflect changes. ALSO,
  235.     it does not split up files, so all the fonts in a file are either
  236.     enabled or disabled.
  237.     
  238.     It (optionally) checks a PPD file for installed PS fonts. If a TT font
  239.     appears red, it may be that the printer has the PS version, and that is
  240.     a "certified bad thing." The conflicting versions _may_ have slightly
  241.     different shapes and spacing. (Newer Apple printers have the same
  242.     internal font metrics as the standard Apple TT fonts installed with the
  243.     system.)
  244.     
  245.     You may change some of the folders and files using ResEdit.
  246.  
  247. DR1
  248. Released to friends.
  249.